:: windows-cmd

@echo off
setlocal enabledelayedexpansion

:: 设置字符集为 UTF-8
chcp 65001

:: 提示用户输入版本号(下面的指令上面不能有注释)

set /p version="请输入发布版本号 (x.x.x-type): "

:: 检查版本号是否包含 '-'
echo %version% | findstr /C:"-" >nul
if %errorlevel% equ 0 (
    :: 如果有 '-'，拆分成两个变量
    for /f "tokens=1,2 delims=-" %%a in ("%version%") do (
        set "version_number=%%a"
        set "version_suffix=%%b"
    )
) else (
    :: 如果没有 '-', 只设置 version_number，suffix 为空
    set "version_number=%version%"
    set "version_suffix=temp"
)

:: 输出拆分后的版本号(下面的指令上面不能有注释)

echo 主版本号: %version_number%
echo 后缀: %version_suffix%


:: 检查 project.godot 是否存在
if not exist "project.godot" (
    echo project.godot 文件不存在！
    exit /b
)

:: 使用 PowerShell 执行替换操作
powershell -Command "(Get-Content 'project.godot') -replace 'config/version=\".*\"', 'config/version=\"!version_number!\"' | Set-Content 'project.godot'"
powershell -Command "(Get-Content 'project.godot') -replace 'config/version_type=\".*\"', 'config/version_type=\"!version_suffix!\"' | Set-Content 'project.godot'"

echo "版本号已更新: !version!"



:: 提示用户输入是否推送(下面的指令上面不能有注释)

set /p is_push="是否推送 (1: 是, 其他: 否): "

:: 检查用户输入的是否为 "1"
if "%is_push%" neq "1" exit

:: 如果输入是 "1"，继续执行后面的操作
echo 执行推送操作...



echo 停止服务器
ssh -i ".\godot.pem" lighthouse@shikeik.site "tmux kill-session -t godot"

echo 复制文件
scp -i ".\godot.pem" -C ".\exports\linux-server\MultiPlayerGameDemo.x86_64" lighthouse@shikeik.site:/home/lighthouse/linux-server/MultiPlayerGameDemo.x86_64

echo 重启服务器
ssh -i ".\godot.pem" lighthouse@shikeik.site "tmux new-session -d -s godot './linux-server/MultiPlayerGameDemo.x86_64; bash'"

echo 完成部署

@pause
